
//Copyright 1997-2009 Syrinx Development, Inc.
//This file is part of the Syrinx Web Application Framework (SWAF).
// == BEGIN LICENSE ==
//
// Licensed under the terms of any of the following licenses at your
// choice:
//
//  - GNU General Public License Version 3 or later (the "GPL")
//    http://www.gnu.org/licenses/gpl.html
//
//  - GNU Lesser General Public License Version 3 or later (the "LGPL")
//    http://www.gnu.org/licenses/lgpl.html
//
//  - Mozilla Public License Version 1.1 or later (the "MPL")
//    http://www.mozilla.org/MPL/MPL-1.1.html
//
// == END LICENSE ==
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;

using Swaf;
using Swaf.BizObj;
using Swaf.Gui;
using Swaf.Security;

namespace Syrinx.Gui.AspNet.Ajax
{
	public class NitobiActionParamDropDown : Combo, IActionTrigger
	{
		protected string m_bizprocActions = null;

		public NitobiActionParamDropDown()
			:base()
		{
		}

		public NitobiActionParamDropDown(ActiveWidget widget)
			:base(widget)
		{
		}

		protected override void OnLoad(EventArgs e)
		{
			base.OnLoad(e);
			if (State.State.get("actions") == null)
				State.State.put("actions", m_bizprocActions);

		}

		public string Actions
		{
			get { string s = (string)State.State.get("actions"); return s == null ? m_bizprocActions : s; }
			set { m_bizprocActions = value; if (BPC != null)State.State.put("actions", value); }
		}

		protected override void processBizObjSelected(string bizObjId)
		{
			List<IAction> actions = BPC.getBizProcActions(Actions);
			foreach (IAction action in actions)
				if (action.Enabled)
					action.trigger(bizObjId);
		}

		public void setupStateFromActions()
		{
		}

	}
}
